home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-06-28 | 3.4 KB | 73 lines | [TEXT/CWIE] |
- // Directory.h
-
- #ifndef Directory_h
- #define Directory_h
-
- #ifndef VolumeID_h
- #include "VolumeID.h"
- #endif
- #ifndef DirectoryID_h
- #include "DirectoryID.h"
- #endif
- #ifndef ConstPString_h
- #include "ConstPString.h"
- #endif
-
- class FileLocation;
-
- class Directory
- {
- private:
- VolumeID volume;
- DirectoryID id;
-
- static Directory Find( VolumeID volume, OSType folder, bool creating );
-
- static VolumeID System() { return VolumeID::Make( kOnSystemDisk ); }
-
- public:
- Directory( VolumeID theVolume, DirectoryID theID = DirectoryID::Root() )
- : volume( theVolume ),
- id( theID )
- {}
-
- VolumeID Volume() const { return volume; }
- DirectoryID ID() const { return id; }
-
- bool IsRoot() const { return id == DirectoryID::Root(); }
-
- void Up();
- void Down( ConstPString );
-
- Directory Parent() const;
-
- bool operator==( Directory d ) const { return volume == d.volume && id == d.id; }
- bool operator!=( Directory d ) const { return volume != d.volume || id != d.id; }
-
- static Directory AppleMenuItems ( VolumeID v = System() ) { return Find( v, kAppleMenuFolderType, false ); }
- static Directory ControlPanels ( VolumeID v = System() ) { return Find( v, kControlPanelFolderType, false ); }
- static Directory Desktop ( VolumeID v = System() ) { return Find( v, kDesktopFolderType, false ); }
- static Directory Extensions ( VolumeID v = System() ) { return Find( v, kExtensionFolderType, false ); }
- static Directory Fonts ( VolumeID v = System() ) { return Find( v, kFontsFolderType, false ); }
- static Directory Preferences ( VolumeID v = System() ) { return Find( v, kPreferencesFolderType, false ); }
- static Directory PrintSpool ( VolumeID v = System() ) { return Find( v, kPrintMonitorDocsFolderType, false ); }
- static Directory StartupItems ( VolumeID v = System() ) { return Find( v, kStartupFolderType, false ); }
- static Directory SystemFolder ( VolumeID v = System() ) { return Find( v, kSystemFolderType, false ); }
- static Directory TemporaryItems ( VolumeID v = System() ) { return Find( v, kTemporaryFolderType, false ); }
- static Directory SharedTrash ( VolumeID v = System() ) { return Find( v, kWhereToEmptyTrashFolderType, false ); }
-
- static Directory MakeAppleMenuItems ( VolumeID v = System() ) { return Find( v, kAppleMenuFolderType, true ); }
- static Directory MakeControlPanels ( VolumeID v = System() ) { return Find( v, kControlPanelFolderType, true ); }
- static Directory MakeDesktop ( VolumeID v = System() ) { return Find( v, kDesktopFolderType, true ); }
- static Directory MakeExtensions ( VolumeID v = System() ) { return Find( v, kExtensionFolderType, true ); }
- static Directory MakeFonts ( VolumeID v = System() ) { return Find( v, kFontsFolderType, true ); }
- static Directory MakePreferences ( VolumeID v = System() ) { return Find( v, kPreferencesFolderType, true ); }
- static Directory MakePrintSpool ( VolumeID v = System() ) { return Find( v, kPrintMonitorDocsFolderType, true ); }
- static Directory MakeStartupItems ( VolumeID v = System() ) { return Find( v, kStartupFolderType, true ); }
- static Directory MakeSystemFolder ( VolumeID v = System() ) { return Find( v, kSystemFolderType, true ); }
- static Directory MakeTemporaryItems ( VolumeID v = System() ) { return Find( v, kTemporaryFolderType, true ); }
- static Directory MakeSharedTrash ( VolumeID v = System() ) { return Find( v, kWhereToEmptyTrashFolderType, true ); }
- };
-
- #endif
-